package viewInterfaces;

/**
 * Provides all interfaces for create the View Layer by according Abstract Factory pattern design
 * 
 */
public abstract class AbstractViewFactory {

	public abstract IViewProjectManagement getViewProjectManagement();
	public abstract IViewRunSetup getViewRun();
	public abstract IViewDBConnectionSetup getViewDBConnection();
	public abstract IViewTestsPanel getViewMetricsPanel();
	public abstract IViewRecommendersPanel getViewRecommendersPanel();
	public abstract IViewTestPanel getViewTestPanel();
	public abstract IViewTestSetup getViewTestSetup();
    public abstract IViewMain getViewMain();
    public abstract IViewBenchmarkPanel getBenchmarkPanel();
    public abstract IViewSaveTestResult getSaveTestResultView();
    public abstract IViewLoadTestResult getLoadTestResultView();
    public abstract IViewOutputJarSetup getOutputSetupView();
    
    public static AbstractViewFactory getAbstractViewFactory()
    {
        return new ViewFactory();
    }
}
